<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>OpenShoe: power_clocks_lib.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenShoe
   &#160;<span id="projectnumber">0.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">power_clocks_lib.h File Reference</div>  </div>
</div>
<div class="contents">

<p>High-level library abstracting features such as oscillators/pll/dfll configuration, clock configuration, System-sensible parameters configuration, buses clocks configuration, sleep mode, reset.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;avr32/io.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="compiler_8h_source.html">compiler.h</a>&quot;</code><br/>
<code>#include &quot;pm.h&quot;</code><br/>
</div>
<p><a href="power__clocks__lib_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Power Management</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a1f0120dade42a19b5d5a0f2f217b857a">pcl_read_gplp</a> (unsigned long gplp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the content of the GPLP registers.  <a href="#a1f0120dade42a19b5d5a0f2f217b857a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a22234c65b535937b477c7e988ec2fec5">pcl_write_gplp</a> (unsigned long gplp, unsigned long value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write into the GPLP registers.  <a href="#a22234c65b535937b477c7e988ec2fec5"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Clocks Management</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#ae5d58ccb6ba7a33fc31a4d746be5c1f8">pcl_freq_param_t</a>&#160;&#160;&#160;pm_freq_param_t</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Input and output parameters to configure clocks with <a class="el" href="power__clocks__lib_8c.html#a6a10f502b3248fff54863a281af1da9e" title="Device-specific data.">pcl_configure_clocks()</a>.  <a href="#ae5d58ccb6ba7a33fc31a4d746be5c1f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a59e0f4c56cd3a4bbe8048c5f25f29d0a">PCL_NOT_SUPPORTED</a>&#160;&#160;&#160;(-10000)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Define "not supported" for the lib.  <a href="#a59e0f4c56cd3a4bbe8048c5f25f29d0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a74e5a86210c3b80bd700df9389e215c8">pcl_enable_module</a>(module)&#160;&#160;&#160;pm_enable_module(&amp;AVR32_PM, module)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the clock of a module.  <a href="#a74e5a86210c3b80bd700df9389e215c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a06bdd6244939aa44609ceca5bc036570">pcl_disable_module</a>(module)&#160;&#160;&#160;pm_disable_module(&amp;AVR32_PM, module)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable the clock of a module.  <a href="#a06bdd6244939aa44609ceca5bc036570"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6b">pcl_osc_t</a> { <a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6ba1de109897efb1a7aa0945ff267cb7a5c">PCL_OSC0</a> =  0, 
<a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6ba4c5069c1dc660a89db3752fdff54b8ae">PCL_OSC1</a> =  1
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The different oscillators.  <a href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6b">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#af9cae9b1b110d1b3d27c23593a757074">pcl_dfll_t</a> { <a class="el" href="power__clocks__lib_8h.html#af9cae9b1b110d1b3d27c23593a757074a50aa495ad526c0d2daf92cad1b3d5d7b">PCL_DFLL0</a> =  0, 
<a class="el" href="power__clocks__lib_8h.html#af9cae9b1b110d1b3d27c23593a757074a8325a65259a575f4ae34f1a796b5cd99">PCL_DFLL1</a> =  1
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The different DFLLs.  <a href="power__clocks__lib_8h.html#af9cae9b1b110d1b3d27c23593a757074">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011b">pcl_mainclk_t</a> { <br/>
&#160;&#160;<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011baa2c1cfc43f78e8d6f4fd6b320b2166e4">PCL_MC_RCSYS</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba167075b7136f979cd69680823ab75588">PCL_MC_OSC0</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba72088d029d0fe1971673ad00462dff9a">PCL_MC_OSC1</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba1823c6c5e3ae6bf50d4b3f01184c2584">PCL_MC_OSC0_PLL0</a>, 
<br/>
&#160;&#160;<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011bae6334cb514de83b881d9b3c9c7c51a14">PCL_MC_OSC1_PLL0</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba1830fbd30b05dd549301185c02ed642b">PCL_MC_OSC0_PLL1</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011baff81d68a3173246658eaa6562ab7537e">PCL_MC_OSC1_PLL1</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba00c460fd0a7c48c4c4e2b8885d2add6c">PCL_MC_DFLL0</a>, 
<br/>
&#160;&#160;<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba5693f6f428fbbb249094fb998b80d056">PCL_MC_DFLL1</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011bad0a4e4975a1dba0e60a656863836641b">PCL_MC_RC120M</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba3aa38440bf297cb450e3964a7124ba5a">PCL_MC_RC8M</a>, 
<a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011ba6c9a242dc5a97294c077bfba858055f8">PCL_MC_CRIPOSC</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible Main Clock Sources.  <a href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011b">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a6a10f502b3248fff54863a281af1da9e">pcl_configure_clocks</a> (pcl_freq_param_t *param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatically configure the CPU, PBA, PBB, and HSB clocks.  <a href="#a6a10f502b3248fff54863a281af1da9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a37e123796912716a80c10045f483e618">pcl_configure_clocks_rcsys</a> (pcl_freq_param_t *param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatically configure the CPU, PBA, PBB, and HSB clocks using the RCSYS osc as main source clock.  <a href="#a37e123796912716a80c10045f483e618"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a73982b53f03832280909af1b437220ba">pcl_configure_clocks_rc120m</a> (pcl_freq_param_t *param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatically configure the CPU, PBA, PBB, and HSB clocks using the RC120M osc as main source clock.  <a href="#a73982b53f03832280909af1b437220ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a4ff3149ebc8bf3064e77dc4b158aafad">pcl_configure_clocks_osc0</a> (pcl_freq_param_t *param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatically configure the CPU, PBA, PBB, and HSB clocks using the OSC0 osc as main source clock.  <a href="#a4ff3149ebc8bf3064e77dc4b158aafad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a8528af6e455a48f6d7b134bbd51d5840">pcl_configure_clocks_dfll0</a> (pcl_freq_param_t *param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatically configure the CPU, PBA, PBB, and HSB clocks using the DFLL0 as main source clock.  <a href="#a8528af6e455a48f6d7b134bbd51d5840"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#ac557cb29483bdd41f36dea2dba5bf9ab">pcl_switch_to_osc</a> (<a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6b">pcl_osc_t</a> osc, unsigned int fcrystal, unsigned int startup)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Switch the main clock source to Osc0 configured in crystal mode.  <a href="#ac557cb29483bdd41f36dea2dba5bf9ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power__clocks__lib_8h.html#a8c02993a038be7348f0363675e6e836a">pcl_configure_usb_clock</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the USB Clock.  <a href="#a8c02993a038be7348f0363675e6e836a"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>High-level library abstracting features such as oscillators/pll/dfll configuration, clock configuration, System-sensible parameters configuration, buses clocks configuration, sleep mode, reset. </p>
<ul>
<li>Compiler: IAR EWAVR32 and GNU GCC for AVR32</li>
<li>Supported devices: All AVR32 devices.</li>
<li>AppNote:</li>
</ul>
<dl class="author"><dt><b>Author:</b></dt><dd>Atmel Corporation: <a href="http://www.atmel.com">http://www.atmel.com</a> <br/>
 Support and FAQ: <a href="http://support.atmel.no/">http://support.atmel.no/</a> </dd></dl>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a06bdd6244939aa44609ceca5bc036570"></a><!-- doxytag: member="power_clocks_lib.h::pcl_disable_module" ref="a06bdd6244939aa44609ceca5bc036570" args="(module)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define pcl_disable_module</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">module</td><td>)</td>
          <td>&#160;&#160;&#160;pm_disable_module(&amp;AVR32_PM, module)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disable the clock of a module. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>The module to shut down (use one of the defines in the part-specific header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" or look in the module section).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>An error occured. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a74e5a86210c3b80bd700df9389e215c8"></a><!-- doxytag: member="power_clocks_lib.h::pcl_enable_module" ref="a74e5a86210c3b80bd700df9389e215c8" args="(module)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define pcl_enable_module</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">module</td><td>)</td>
          <td>&#160;&#160;&#160;pm_enable_module(&amp;AVR32_PM, module)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable the clock of a module. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>The module to clock (use one of the defines in the part-specific header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" or look in the module section).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>An error occured. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae5d58ccb6ba7a33fc31a4d746be5c1f8"></a><!-- doxytag: member="power_clocks_lib.h::pcl_freq_param_t" ref="ae5d58ccb6ba7a33fc31a4d746be5c1f8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define pcl_freq_param_t&#160;&#160;&#160;pm_freq_param_t</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Input and output parameters to configure clocks with <a class="el" href="power__clocks__lib_8c.html#a6a10f502b3248fff54863a281af1da9e" title="Device-specific data.">pcl_configure_clocks()</a>. </p>

</div>
</div>
<a class="anchor" id="a59e0f4c56cd3a4bbe8048c5f25f29d0a"></a><!-- doxytag: member="power_clocks_lib.h::PCL_NOT_SUPPORTED" ref="a59e0f4c56cd3a4bbe8048c5f25f29d0a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PCL_NOT_SUPPORTED&#160;&#160;&#160;(-10000)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Define "not supported" for the lib. </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="af9cae9b1b110d1b3d27c23593a757074"></a><!-- doxytag: member="power_clocks_lib.h::pcl_dfll_t" ref="af9cae9b1b110d1b3d27c23593a757074" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="power__clocks__lib_8h.html#af9cae9b1b110d1b3d27c23593a757074">pcl_dfll_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The different DFLLs. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af9cae9b1b110d1b3d27c23593a757074a50aa495ad526c0d2daf92cad1b3d5d7b"></a><!-- doxytag: member="PCL_DFLL0" ref="af9cae9b1b110d1b3d27c23593a757074a50aa495ad526c0d2daf92cad1b3d5d7b" args="" -->PCL_DFLL0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af9cae9b1b110d1b3d27c23593a757074a8325a65259a575f4ae34f1a796b5cd99"></a><!-- doxytag: member="PCL_DFLL1" ref="af9cae9b1b110d1b3d27c23593a757074a8325a65259a575f4ae34f1a796b5cd99" args="" -->PCL_DFLL1</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011b"></a><!-- doxytag: member="power_clocks_lib.h::pcl_mainclk_t" ref="a262b8e2623fe509dd4eb8d46bfe6011b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="power__clocks__lib_8h.html#a262b8e2623fe509dd4eb8d46bfe6011b">pcl_mainclk_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible Main Clock Sources. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011baa2c1cfc43f78e8d6f4fd6b320b2166e4"></a><!-- doxytag: member="PCL_MC_RCSYS" ref="a262b8e2623fe509dd4eb8d46bfe6011baa2c1cfc43f78e8d6f4fd6b320b2166e4" args="" -->PCL_MC_RCSYS</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba167075b7136f979cd69680823ab75588"></a><!-- doxytag: member="PCL_MC_OSC0" ref="a262b8e2623fe509dd4eb8d46bfe6011ba167075b7136f979cd69680823ab75588" args="" -->PCL_MC_OSC0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba72088d029d0fe1971673ad00462dff9a"></a><!-- doxytag: member="PCL_MC_OSC1" ref="a262b8e2623fe509dd4eb8d46bfe6011ba72088d029d0fe1971673ad00462dff9a" args="" -->PCL_MC_OSC1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba1823c6c5e3ae6bf50d4b3f01184c2584"></a><!-- doxytag: member="PCL_MC_OSC0_PLL0" ref="a262b8e2623fe509dd4eb8d46bfe6011ba1823c6c5e3ae6bf50d4b3f01184c2584" args="" -->PCL_MC_OSC0_PLL0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011bae6334cb514de83b881d9b3c9c7c51a14"></a><!-- doxytag: member="PCL_MC_OSC1_PLL0" ref="a262b8e2623fe509dd4eb8d46bfe6011bae6334cb514de83b881d9b3c9c7c51a14" args="" -->PCL_MC_OSC1_PLL0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba1830fbd30b05dd549301185c02ed642b"></a><!-- doxytag: member="PCL_MC_OSC0_PLL1" ref="a262b8e2623fe509dd4eb8d46bfe6011ba1830fbd30b05dd549301185c02ed642b" args="" -->PCL_MC_OSC0_PLL1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011baff81d68a3173246658eaa6562ab7537e"></a><!-- doxytag: member="PCL_MC_OSC1_PLL1" ref="a262b8e2623fe509dd4eb8d46bfe6011baff81d68a3173246658eaa6562ab7537e" args="" -->PCL_MC_OSC1_PLL1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba00c460fd0a7c48c4c4e2b8885d2add6c"></a><!-- doxytag: member="PCL_MC_DFLL0" ref="a262b8e2623fe509dd4eb8d46bfe6011ba00c460fd0a7c48c4c4e2b8885d2add6c" args="" -->PCL_MC_DFLL0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba5693f6f428fbbb249094fb998b80d056"></a><!-- doxytag: member="PCL_MC_DFLL1" ref="a262b8e2623fe509dd4eb8d46bfe6011ba5693f6f428fbbb249094fb998b80d056" args="" -->PCL_MC_DFLL1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011bad0a4e4975a1dba0e60a656863836641b"></a><!-- doxytag: member="PCL_MC_RC120M" ref="a262b8e2623fe509dd4eb8d46bfe6011bad0a4e4975a1dba0e60a656863836641b" args="" -->PCL_MC_RC120M</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba3aa38440bf297cb450e3964a7124ba5a"></a><!-- doxytag: member="PCL_MC_RC8M" ref="a262b8e2623fe509dd4eb8d46bfe6011ba3aa38440bf297cb450e3964a7124ba5a" args="" -->PCL_MC_RC8M</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a262b8e2623fe509dd4eb8d46bfe6011ba6c9a242dc5a97294c077bfba858055f8"></a><!-- doxytag: member="PCL_MC_CRIPOSC" ref="a262b8e2623fe509dd4eb8d46bfe6011ba6c9a242dc5a97294c077bfba858055f8" args="" -->PCL_MC_CRIPOSC</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="af1e177f049f666a68c4969ab118bac6b"></a><!-- doxytag: member="power_clocks_lib.h::pcl_osc_t" ref="af1e177f049f666a68c4969ab118bac6b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6b">pcl_osc_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The different oscillators. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af1e177f049f666a68c4969ab118bac6ba1de109897efb1a7aa0945ff267cb7a5c"></a><!-- doxytag: member="PCL_OSC0" ref="af1e177f049f666a68c4969ab118bac6ba1de109897efb1a7aa0945ff267cb7a5c" args="" -->PCL_OSC0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af1e177f049f666a68c4969ab118bac6ba4c5069c1dc660a89db3752fdff54b8ae"></a><!-- doxytag: member="PCL_OSC1" ref="af1e177f049f666a68c4969ab118bac6ba4c5069c1dc660a89db3752fdff54b8ae" args="" -->PCL_OSC1</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a6a10f502b3248fff54863a281af1da9e"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_clocks" ref="a6a10f502b3248fff54863a281af1da9e" args="(pcl_freq_param_t *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_clocks </td>
          <td>(</td>
          <td class="paramtype">pcl_freq_param_t *&#160;</td>
          <td class="paramname"><em>param</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Automatically configure the CPU, PBA, PBB, and HSB clocks. </p>
<p>This function needs some parameters stored in a pcl_freq_param_t structure:</p>
<ul>
<li>main_clk_src is the id of the main clock source to use,</li>
<li>cpu_f and pba_f and pbb_f are the wanted frequencies,</li>
<li>osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0),</li>
<li>osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP).</li>
<li>dfll_f is the target DFLL frequency to set-up if main_clk_src is the dfll.</li>
</ul>
<p>The CPU, HSB and PBA frequencies programmed after configuration are stored back into cpu_f and pba_f.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>: since it is dynamically computing the appropriate field values of the configuration registers from the parameters structure, this function is not optimal in terms of code size. For a code size optimal solution, it is better to create a new function from <a class="el" href="power__clocks__lib_8c.html#a6a10f502b3248fff54863a281af1da9e" title="Device-specific data.">pcl_configure_clocks()</a> and modify it to use preprocessor computation from pre-defined target frequencies.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">param</td><td>pointer on the configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>The configuration cannot be performed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8528af6e455a48f6d7b134bbd51d5840"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_clocks_dfll0" ref="a8528af6e455a48f6d7b134bbd51d5840" args="(pcl_freq_param_t *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_clocks_dfll0 </td>
          <td>(</td>
          <td class="paramtype">pcl_freq_param_t *&#160;</td>
          <td class="paramname"><em>param</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Automatically configure the CPU, PBA, PBB, and HSB clocks using the DFLL0 as main source clock. </p>
<p>This function needs some parameters stored in a pcl_freq_param_t structure:</p>
<ul>
<li>cpu_f and pba_f and pbb_f are the wanted frequencies,</li>
<li>dfll_f is the target DFLL frequency to set-up</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>: when the DFLL0 is to be used as main source clock for the synchronous clocks, the target frequency of the DFLL should be chosen to be as high as possible within the specification range (for stability reasons); the target cpu and pbx frequencies will then be reached by appropriate division ratio.</dd></dl>
<p>Supported main clock sources: PCL_MC_DFLL0</p>
<p>Supported synchronous clocks frequencies: (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>: by default, this implementation doesn't perform thorough checks on the input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK.</dd>
<dd>
: since it is dynamically computing the appropriate field values of the configuration registers from the parameters structure, this function is not optimal in terms of code size. For a code size optimal solution, it is better to create a new function from <a class="el" href="power__clocks__lib_8h.html#a8528af6e455a48f6d7b134bbd51d5840" title="Automatically configure the CPU, PBA, PBB, and HSB clocks using the DFLL0 as main source clock...">pcl_configure_clocks_dfll0()</a> and modify it to use preprocessor computation from pre-defined target frequencies.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">param</td><td>pointer on the configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>The configuration cannot be performed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4ff3149ebc8bf3064e77dc4b158aafad"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_clocks_osc0" ref="a4ff3149ebc8bf3064e77dc4b158aafad" args="(pcl_freq_param_t *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_clocks_osc0 </td>
          <td>(</td>
          <td class="paramtype">pcl_freq_param_t *&#160;</td>
          <td class="paramname"><em>param</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Automatically configure the CPU, PBA, PBB, and HSB clocks using the OSC0 osc as main source clock. </p>
<p>This function needs some parameters stored in a pcl_freq_param_t structure:</p>
<ul>
<li>cpu_f and pba_f and pbb_f are the wanted frequencies,</li>
<li>osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0),</li>
<li>osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP).</li>
</ul>
<p>Supported main clock sources: PCL_MC_OSC0</p>
<p>Supported synchronous clocks frequencies: (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>: by default, this implementation doesn't perform thorough checks on the input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK.</dd>
<dd>
: since it is dynamically computing the appropriate field values of the configuration registers from the parameters structure, this function is not optimal in terms of code size. For a code size optimal solution, it is better to create a new function from <a class="el" href="power__clocks__lib_8h.html#a4ff3149ebc8bf3064e77dc4b158aafad" title="Automatically configure the CPU, PBA, PBB, and HSB clocks using the OSC0 osc as main source clock...">pcl_configure_clocks_osc0()</a> and modify it to use preprocessor computation from pre-defined target frequencies.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">param</td><td>pointer on the configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>The configuration cannot be performed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a73982b53f03832280909af1b437220ba"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_clocks_rc120m" ref="a73982b53f03832280909af1b437220ba" args="(pcl_freq_param_t *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_clocks_rc120m </td>
          <td>(</td>
          <td class="paramtype">pcl_freq_param_t *&#160;</td>
          <td class="paramname"><em>param</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Automatically configure the CPU, PBA, PBB, and HSB clocks using the RC120M osc as main source clock. </p>
<p>This function needs some parameters stored in a pcl_freq_param_t structure:</p>
<ul>
<li>cpu_f and pba_f and pbb_f are the wanted frequencies</li>
</ul>
<p>Supported main clock sources: PCL_MC_RC120M</p>
<p>Supported synchronous clocks frequencies: 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>: by default, this implementation doesn't perform thorough checks on the input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK.</dd>
<dd>
: since it is dynamically computing the appropriate field values of the configuration registers from the parameters structure, this function is not optimal in terms of code size. For a code size optimal solution, it is better to create a new function from <a class="el" href="power__clocks__lib_8h.html#a73982b53f03832280909af1b437220ba" title="Automatically configure the CPU, PBA, PBB, and HSB clocks using the RC120M osc as main source clock...">pcl_configure_clocks_rc120m()</a> and modify it to use preprocessor computation from pre-defined target frequencies.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">param</td><td>pointer on the configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>The configuration cannot be performed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a37e123796912716a80c10045f483e618"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_clocks_rcsys" ref="a37e123796912716a80c10045f483e618" args="(pcl_freq_param_t *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_clocks_rcsys </td>
          <td>(</td>
          <td class="paramtype">pcl_freq_param_t *&#160;</td>
          <td class="paramname"><em>param</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Automatically configure the CPU, PBA, PBB, and HSB clocks using the RCSYS osc as main source clock. </p>
<p>This function needs some parameters stored in a pcl_freq_param_t structure:</p>
<ul>
<li>cpu_f and pba_f and pbb_f are the wanted frequencies</li>
</ul>
<p>Supported main clock sources: PCL_MC_RCSYS</p>
<p>Supported synchronous clocks frequencies: 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>: by default, this implementation doesn't perform thorough checks on the input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK.</dd>
<dd>
: since it is dynamically computing the appropriate field values of the configuration registers from the parameters structure, this function is not optimal in terms of code size. For a code size optimal solution, it is better to create a new function from <a class="el" href="power__clocks__lib_8h.html#a37e123796912716a80c10045f483e618" title="Automatically configure the CPU, PBA, PBB, and HSB clocks using the RCSYS osc as main source clock...">pcl_configure_clocks_rcsys()</a> and modify it to use preprocessor computation from pre-defined target frequencies.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">param</td><td>pointer on the configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>The configuration cannot be performed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8c02993a038be7348f0363675e6e836a"></a><!-- doxytag: member="power_clocks_lib.h::pcl_configure_usb_clock" ref="a8c02993a038be7348f0363675e6e836a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_configure_usb_clock </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Configure the USB Clock. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>An error occured. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1f0120dade42a19b5d5a0f2f217b857a"></a><!-- doxytag: member="power_clocks_lib.h::pcl_read_gplp" ref="a1f0120dade42a19b5d5a0f2f217b857a" args="(unsigned long gplp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long pcl_read_gplp </td>
          <td>(</td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>gplp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read the content of the GPLP registers. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gplp</td><td>GPLP register index (0,1,... depending on the number of GPLP registers for a given part)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The content of the chosen GPLP register. </dd></dl>

</div>
</div>
<a class="anchor" id="ac557cb29483bdd41f36dea2dba5bf9ab"></a><!-- doxytag: member="power_clocks_lib.h::pcl_switch_to_osc" ref="ac557cb29483bdd41f36dea2dba5bf9ab" args="(pcl_osc_t osc, unsigned int fcrystal, unsigned int startup)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long int pcl_switch_to_osc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="power__clocks__lib_8h.html#af1e177f049f666a68c4969ab118bac6b">pcl_osc_t</a>&#160;</td>
          <td class="paramname"><em>osc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>fcrystal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>startup</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Switch the main clock source to Osc0 configured in crystal mode. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">osc</td><td>The oscillator to enable and switch to. </td></tr>
    <tr><td class="paramname">fcrystal</td><td>Oscillator external crystal frequency (Hz) </td></tr>
    <tr><td class="paramname">startup</td><td>Oscillator startup time.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">&lt;0</td><td>An error occured.</td></tr>
  </table>
  </dd>
</dl>
<p>Switch the main clock source to Osc0 configured in crystal mode.</p>
<p>UC3C Device-specific implementation </p>

</div>
</div>
<a class="anchor" id="a22234c65b535937b477c7e988ec2fec5"></a><!-- doxytag: member="power_clocks_lib.h::pcl_write_gplp" ref="a22234c65b535937b477c7e988ec2fec5" args="(unsigned long gplp, unsigned long value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl_write_gplp </td>
          <td>(</td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>gplp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write into the GPLP registers. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gplp</td><td>GPLP register index (0,1,... depending on the number of GPLP registers for a given part) </td></tr>
    <tr><td class="paramname">value</td><td>Value to write </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 19 2011 21:04:53 for OpenShoe by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
